package cn.zdm.designpattern.templatepattern;

/**
 * copyright (C), 2020, 北京同创永益科技发展有限公司
 *
 * @author ZhaoDeman
 * @version 1.0.0
 * <author>                <time>                  <version>                   <description>
 * ZhaoDeman        2020/12/4 16:36                 1.0                        创建的抽想类
 * @program designpattern
 * @description 创建的抽想类
 * @create 2020/12/4 16:36
 */
public abstract class Game {
    /***
     *初始化方法
     * @date 2020/12/4 16:40
     * @return void
     */
    abstract void initialize();

    /***
     *开始游戏
     * @date 2020/12/4 16:41
     * @return void
     */
    abstract void startPlay();

    /***
     *
     * 游戏结束
     * @date 2020/12/4 16:41
     * @return void
     */
    abstract void endPlay();

    /***
     *
     * @param
     * @date 2020/12/4 16:48
     * @return void
     */
    public final void play() {

        //初始化游戏
        initialize();

        //开始游戏
        startPlay();

        //结束游戏
        endPlay();
    }
}
